package cn.ybb.product.service;

import cn.ybb.product.model.PrePayReq;
import cn.ybb.product.model.PrePayRes;
import org.apache.dubbo.config.annotation.DubboService;

/**
 *
 * <pre>
 *     1. PrePayReq 这个里面有订单信息，库存方面的事情应该在订单模块考虑，
 *     2. 购买支付流程只考虑用户账户和商家账户金额的转出，转进即可
 *     3. 需要考虑一致性
 *     4. 用户的付款方式是一个扩展点，可以抽象模板
 *     5. 支付后的最终状态和订单的模块的一致性需要考虑
 *     6. PrePayRes为业务返回结果，可以在外面再写一层统一网络异常码
 *     7. 数据库层面的逻辑未写
 * </pre>
 *
 * @author duanweidong
 * @date 2024/4/23 15:13
 */

@DubboService(version = "1.0.0")
public class PreparePayServiceImpl implements PreparePayService {

    //TODO 数据库 dao层的逻辑

    @Override
    public PrePayRes preparePay(PrePayReq prePayReq) {
            // TODO <pre>里面的逻辑
        PrePayRes prePayRes = new PrePayRes();
        prePayRes.setStatus("success");
        return prePayRes;
    }
}
